const path = require('path') //使用node导入包，获取路径,,npm init 生成package.json

//通过commonjs方式导出
module.exports = {
  entry: './src/main.js',  //入口
  output: {
    path: path.resolve(__dirname,'dist'),      //动态获取路径
    filename: 'bundle.js',
    publicPath: 'dist/'  //添加publicPath图片打包后的路径
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        //使用多个loader时是从右向左读
        use: ['style-loader','css-loader'],
      },
      {
        test: /\.less$/,
        use: [{
          loader: 'style-loader' // creates style nodes from JS strings
        }, {
          loader: 'css-loader' // translates CSS into CommonJS
        }, {
          loader: 'less-loader' // compiles Less to CSS
        }]
      },
      {
        test: /\.(png|jpg|gif|jpeg)$/,
        use: [
          {
            loader: 'url-loader',
            options: {
              //图片小于这个大小时候会转成base64格式，
              //大于这个数的时候需要安装file loader模块,此时图片需要打包，添加publicPath
              limit: 8192,
              //自定义打包后的文件图片名（img文件夹下面+原名+八位哈希值+扩展名
              name: 'img/[name].[hash:8].[ext]'
            },
          }
        ]
      },
      {
        test: /\.js$/,
        exclude: /(node_modules|bower_components)/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['es2015']
          }
        }
      }
    ],
  },
}